<?php

class Trace {

    /**
     * ES数据库配置项
     *
     * @var array
     */
    private $db;

    /**
     * 追踪的数据
     *
     * @var array
     */
    private $data = [

        // 请求信息组
        'method'=> '',                  // 访问方法
        'file'=> '',                    // 访问的文件
        'querystring'=> '',             // get参数
        'body'=> '',                    // body参数

        // 结果信息组
        'code'=> 0,                     // 结果编码
        'data'=> [],                    // 结果数据
        'msg'=> '',                     // 结果信息

        // 时间信息组
        'start'=> 0,                    // 访问时间（毫秒）
        'effect'=> 0                    // 接口效率（毫秒）
    ];

    /**
     * 初始化
     */
    public function __construct() {
        $this->db = EDB_COLLECT;
    }

    /**
     * 初始化
     *
     * @return void
     */
    public function init() {
        $this->data['created'] = time13();
    }

    /**
     * 结束追踪
     *
     * @param array $res restful接口返回的结果
     * @param array $session session信息，用于丰富记录内容
     * @return void
     */
    public function end(array $res, array $session = []) {

    }

    /**
     * 自定义追踪
     *
     * @param string $index ES索引
     * @param array $data
     * @return void
     */
    public function custome(string $index, array $data) {

    }
}


// public static $appcode;

// public static $userId;

// public static $arriveId;

// public static $timestamp;

// public static $method;

// public static $file;

// public static $queryString;

// public static $body;